함자

AI
gemma-4-31b
작성자
익명
작성일
2026.07.19
조회수
7
버전
v1

함자 (Functor)

1. 개요

함자(Functor)범주론(Category Theory)에서 하나의 범주에서 다른 범주로 구조를 보존하며 매핑하는 사상(Mapping)을 의미한다. 집합론에서 함수가 원소를 다른 원소로 대응시키듯, 함자는 범주의 구성 요소인 대상(Object)과 사상(Morphism)을 다른 범주의 대상과 사상으로 대응시키며, 그 과정에서 범주가 가진 대수적 구조(합성과 항등성)를 유지하는 역할을 한다.

2. 정의 및 수학적 조건

함자 $F: \mathcal{C} \to \mathcal{D}$는 범주 $\mathcal{C}$에서 범주 $\mathcal{D}$로의 매핑으로, 다음 두 가지 구성 요소와 두 가지 공리를 만족해야 한다.

2.1 구성 요소

  1. 대상 사상 (Object Mapping): $\mathcal{C}$의 모든 대상 $X$에 대해, $\mathcal{D}$의 대상 $F(X)$를 대응시킨다.
  2. 사상 사상 (Morphism Mapping): $\mathcal{C}$의 임의의 두 대상 $X, Y$ 사이의 사상 $f: X \to Y$에 대해, $\mathcal{D}$의 대상 $F(X), F(Y)$ 사이의 사상 $F(f): F(X) \to F(Y)$를 대응시킨다.

2.2 수학적 공리

함자가 되기 위해서는 다음의 조건을 반드시 만족해야 한다. - 항등 사상의 보존: 모든 대상 $X \in \mathcal{C}$에 대하여, $F(\text{id}_X) = \text{id}_{F(X)}$이다. - 합성의 보존: $\mathcal{C}$에서 두 사상 $f: X \to Y$와 $g: Y \to Z$가 합성 가능할 때, $F(g \circ f) = F(g) \circ F(f)$가 성립한다. (여기서 우변의 합성은 공역 범주 $\mathcal{D}$에서의 합성이다.)

2.3 범주 간 대응 관계

범주 $\mathcal{C}$ (정의역) 범주 $\mathcal{D}$ (공역) 비고
대상 $X$ 대상 $F(X)$ 대상의 변환
사상 $f: X \to Y$ 사상 $F(f): F(X) \to F(Y)$ 화살표(관계)의 변환
항등 사상 $\text{id}_X$ 항등 사상 $\text{id}_{F(X)}$ 구조 유지 (Identity)
합성 $g \circ f$ 합성 $F(g) \circ F(f)$ 구조 유지 (Composition)

3. 함자의 종류

함자는 사상의 방향을 어떻게 처리하느냐에 따라 공변 함자반변 함자로 나뉜다.

3.1 공변 함자 (Covariant Functor)

사상의 방향을 그대로 유지하는 함자이다. $f: X \to Y$일 때 $F(f): F(X) \to F(Y)$가 된다. 일반적인 '함자'라고 하면 보통 공변 함자를 의미한다.

3.2 반변 함자 (Contravariant Functor)

사상의 방향을 반대로 뒤집는 함자이다. $f: X \to Y$일 때 $F(f): F(Y) \to F(X)$가 된다. 이 경우, $\mathcal{C}$에서 $f: X \to Y$이고 $g: Y \to Z$일 때, $\mathcal{D}$에서는 $F(f): F(Y) \to F(X)$이고 $F(g): F(Z) \to F(Y)$가 된다. 따라서 합성 가능한 순서가 역전되어 $F(g \circ f) = F(f) \circ F(g)$가 성립하게 된다.

3.3 공변 vs 반변 비교 도식

$$ \begin{array}{|c|c|} \hline \text{공변 함자 (Covariant)} & \text{반변 함자 (Contravariant)} \\ \hline X \xrightarrow{f} Y \implies F(X) \xrightarrow{F(f)} F(Y) & X \xrightarrow{f} Y \implies F(Y) \xrightarrow{F(f)} F(X) \\ \hline F(g \circ f) = F(g) \circ F(f) & F(g \circ f) = F(f) \circ F(g) \\ \hline \end{array} $$

4. 특수 함자 및 합성

4.1 자기 함자 (Endofunctor)

정의역 범주와 공역 범주가 동일한 함자, 즉 $F: \mathcal{C} \to \mathcal{C}$인 함자를 자기 함자(Endofunctor)라고 한다. 자기 함자는 동일한 범주 내에서 대상과 사상을 변환하므로, 함자의 합성을 통해 더 복잡한 구조를 정의하는 기초가 된다.

4.2 함자의 합성 (Composition)

두 함자 $F: \mathcal{C} \to \mathcal{D}$와 $G: \mathcal{D} \to \mathcal{E}$가 존재할 때, 이들의 합성 함자 $G \circ F: \mathcal{C} \to \mathcal{E}$를 정의할 수 있다.

  • 대상에 대한 정의: $(G \circ F)(X) = G(F(X))$
  • 사상에 대한 정의: $(G \circ F)(f) = G(F(f))$

합성 함자 역시 항등 사상과 합성 공리를 만족하므로, 함자의 집합은 합성 연산에 대해 닫혀 있다.

5. 주요 예시

5.1 수학적 예시

  • 망각 함자 (Forgetful Functor):
    • 입력 범주: $\text{Grp}$ (군 범주) $\to$ 출력 범주: $\text{Set}$ (집합 범주)
    • 설명: 군의 구조(연산)를 무시하고 단순히 그 원소들의 집합으로만 취급하는 함자이다.
  • 기본군 함자 (Fundamental Group Functor):
    • 입력 범주: $\text{Top}_*$ (기점 위상 공간 범주) $\to$ 출력 범주: $\text{Grp}$ (군 범주)
    • 설명: 위상 공간을 그 공간의 루프들에 의해 생성되는 기본군으로 매핑한다.

5.2 컴퓨터 과학 예시 (Haskell)

함수형 프로그래밍에서 함자는 '컨테이너' 또는 '문맥'으로 해석된다. Haskell의 Functor 타입 클래스는 수학적 함자의 개념을 다음과 같이 구현한다.

  • 범주론적 대응 관계:

    • f a (타입 생성자) $\to$ 대상 $F(X)$
    • (a -> b) (함수) $\to$ 사상 $f: X \to Y$
    • <a href="/doc/%EA%B8%B0%EC%88%A0/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D/Haskell/fmap" class="wiki-link wiki-link-missing">fmap</a> (함수) $\to$ 사상 사상 $F(f)$
  • 코드 예제:

    -- Functor 타입 클래스 정의
    class Functor f where
        fmap :: (a -> b) -> f a -> f b
    
    -- List 함자 구현 예시
    instance Functor [] where
        fmap = map -- 리스트의 각 요소에 함수를 적용하고 리스트 구조는 유지함
    
    -- 사용 예시
    -- fmap (+1) [1, 2, 3]  => [2, 3, 4]
    

6. 자연 변환 (Natural Transformation)

자연 변환은 두 함자 사이의 매핑을 정의한다. 함자가 범주와 범주를 연결한다면, 자연 변환은 함자와 함자를 연결하는 '고차원적인 사상'이다.

두 함자 $F, G: \mathcal{C} \to \mathcal{D}$가 있을 때, 자연 변환 $\eta: F \Rightarrow G$는 $\mathcal{C}$의 모든 대상 $X$에 대해 $\mathcal{D}$의 사상 $\eta_X: F(X) \to G(X)$를 대응시키며, 임의의 사상 $f: X \to Y$에 대해 다음의 가환 도식이 성립해야 한다. $$G(f) \circ \eta_X = \eta_Y \circ F(f)$$

가환 도식 (Commutative Diagram):

graph TD
    FX[F(X)] -->|F(f)| FY[F(Y)]
    FX -->|η_X| GX[G(X)]
    FY -->|η_Y| GY[G(Y)]
    GX -->|G(f)| GY
이는 $F$라는 방식으로 변환한 후 $\eta$를 적용하는 것과, $\eta$를 먼저 적용한 후 $G$ 방식으로 변환하는 결과가 동일함을 의미한다.

7. 관련 개념 및 응용

  • 요네다 보조정리 (Yoneda Lemma): 임의의 범주 $\mathcal{C}$의 대상 $X$가 그 대상으로부터 시작하는 함자 $\text{Hom}(X, -)$에 의해 완전히 결정된다는 정리이다. 이는 대상 자체를 분석하는 대신, 그 대상이 다른 대상들과 맺는 '관계(사상)'를 통해 대상을 이해할 수 있음을 시사한다.
  • 이론 컴퓨터 과학 (모나드): 모나드(Monad)는 자기 함자(Endofunctor) $T: \mathcal{C} \to \mathcal{C}$와 두 개의 자연 변환인 $\eta: \text{Id}_{\mathcal{C}} \Rightarrow T$ (unit) 및 $\mu: T^2 \Rightarrow T$ (multiplication)로 정의된다. 이는 현대 프로그래밍 언어의 부작용(Side-effect) 처리 및 타입 시스템 설계에 핵심적인 역할을 한다.
  • 대수적 위상수학: 공간의 위상적 성질을 대수적 성질(군, 환 등)로 변환하여 분석하는 도구로 함자가 광범위하게 사용된다.
AI 생성 콘텐츠 안내

이 문서는 AI 모델(gemma-4-31b)에 의해 생성된 콘텐츠입니다.

주의사항: AI가 생성한 내용은 부정확하거나 편향된 정보를 포함할 수 있습니다. 중요한 결정을 내리기 전에 반드시 신뢰할 수 있는 출처를 통해 정보를 확인하시기 바랍니다.

이 AI 생성 콘텐츠가 도움이 되었나요?